package array.others;

/**
 * 48. 旋转图像
 * <p>
 * 面试题 01.07. 旋转矩阵
 * <p>
 * 给你一幅由 N × N 矩阵表示的图像，其中每个像素的大小为 4 字节。请你设计一种算法，将图像旋转 90 度。
 * <p>
 * 不占用额外内存空间能否做到？
 */
public class rotate {
    /**
     * 先试一下使用额外内存空间的
     */
    public static void rotate_1(int[][] matrix) {

        int n = matrix.length;
        int[][] res = new int[matrix.length][matrix.length];
        int l = matrix.length - 1;
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix.length; j++) {
                res[l - i][l-j] = matrix[i][j];
            }
        }

        for (int[] ints : res) {
            for (int anInt : ints) {
                System.out.print(anInt + " ");
            }
            System.out.println();
        }
    }

    public static void main(String[] args) {
        int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
        rotate_1(matrix);
    }
}
